Towards optimal resource provisioning for running mapreduce programs in public clouds diman zad tootaghaj